// 入口函数
$(function () {
    $('#loginBox a').on('click', function () {
        $('#loginBox').hide()
        $('#regBox').show()
    })
    $('#regBox a').on('click', function () {
        $('#loginBox').show()
        $('#regBox').hide()
    })
    // 校验数据
    let form = layui.form
    // form是对象他有一个方法,参数是一个对象
    form.verify({
        // 属性是校验规则名字 属性值是校验规则
        //  校验规则有两种方式数组和对象，对象的形式解决复杂校验
        username: [/^[A-z0-9]{1,10}$/, '用户名必须是1到10位的数字或者字母'],
        pwd: [/^[\w]{6,15}$/, '密码必须是6位到15位的数字或字母及下划线'],
        // 对象格式 
        repwd: {
            function(value, item) {
                // 获取输入密码的值 属性选择器
                let pwdp = $('#regBox input[name=repwd]').val()
                // 不符合的情况
                if (pwdp !== value) {
                    return '两次密码输入不一致'
                }
            }
        }
    })

    // 美化弹出层 layer的msg
    let layer=layui.layer
    // 实现注册
    $('#formReg').on('submit',function (e) {
        // 阻止默认事件
        e.preventDefault();
        // axios的请求
        axios({
            method:'POST',
            url:"/api/reguser",
            data:$(this).serialize()
        }).then(res=>{
            // console.log(res.data);
            if (res.data.status !== 0) {
                console.log();
                return layer.msg(res.data.message ,{icon:5})
            }
            // 成功
            layer.msg('恭喜您，注册用户成功',{icon:6})
            // 点击事件和清空输入框的内容重置表单 要转dom元素利用表单的reset方法
            $('#regBox a').click()
            $('#formReg')[0].reset()
        })
    })
    // 登录功能
    $('#formLogin').on('submit',function (e) {
        e.preventDefault()
        // 请求 因为已经绑定了校验这里直接发送请求
        axios({
            method:'POST',
            url:"/api/login",
            data:$(this).serialize()
        }).then(res=>{
            if (res.data.status !== 0) {
                return layer.msg(res.data.message,{icon:5})
            }
            // 恭喜
            layer.msg('恭喜您登录成功',{icon:6})
            // 会返回一个token 要保存到本地
            localStorage.setItem('token',res.data.token)
            // 跳转 优化延迟两秒
            setTimeout(() => {
                location.href='/index.html'
            }, 1000);
        })
    })
})